// E&D游戏
// 桌子上有2n堆石子，编号为1、2、3...2n
// 其中1、2为一组；3、4为一组；5、6为一组...2n-1、2n为一组
// 每组可以进行分割操作：
// 任取一堆石子，将其移走，然后分割同一组的另一堆石子
// 从中取出若干个石子放在被移走的位置，组成新的一堆
// 操作完成后，组内每堆的石子数必须保证大于0
// 显然，被分割的一堆的石子数至少要为2
// 两个人轮流进行分割操作，如果轮到某人进行操作时，所有堆的石子数均为1，判此人输掉比赛
// 返回先手能不能获胜
// 测试链接 : https://www.luogu.com.cn/problem/P2148
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

inline int read()
{
    char ch = getchar();
    int x = 0, f = 1;
    while(ch < '0' || ch > '9')
    {
        if(ch == '-') f = -1;
        ch = getchar();
    }
    while(ch >= '0' && ch <= '9')
    {
        x = 10 * x + ch - '0';
        ch = getchar();
    }
    return f * x;
}

int lowZero(int status)
{
    int cnt = 0;
    while(status > 0)
    {
        if((status & 1) == 0) break;
        ++cnt;
        status >>= 1;
    }
    return cnt;
}

int main()
{
    int t = read();
    while(t--)
    {
        int n = read();
        int eor = 0;
        for(int i = 1, a, b; i <= n; i += 2)
        {
            a = read();
            b = read();
            eor ^= lowZero((a - 1) | (b - 1));
        }
        if(eor != 0) puts("YES");
        else puts("NO");
    }

    return 0;
}